iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
自我挑戰組

用LeetCode來訓練大腦的邏輯思維系列 第 13

LeetCode 118. Pascal's Triangle

  • 分享至 

  • xImage
  •  

題目

Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.
https://ithelp.ithome.com.tw/upload/images/20200922/20112573viH5K9VIFP.png
In Pascal's triangle, each number is the sum of the two numbers directly above it.

題意

計算巴斯卡三角形

Example:

Input: 5
Output:
[
      [1],
     [1,1],
    [1,2,1],
   [1,3,3,1],
  [1,4,6,4,1]
]

解題想法

這題的重點在於如何抓到上一個陣列的值,算出現有陣列的值。

Solution

var generate = function (numRows) {
  let a = [];
  let a1 = [1];
  let a3 = [];
  for (let i = 0; i < numRows; i++) {
    a = a1.slice(0);
    if (i !== 0) {
      a1 = [];
    }
    a3.push(a);
    for (let j = 0; j < i + 1; j++) {
      if (j === 0) {
        a1.push(1);
      } else {
        a1.push(a[j - 1] + a[j]);
      }
      if (j === i && i !== 0) {
        a1.push(1);
      }
    }
  }
  return a3;
};

上一篇
LeetCode 88. Merge Sorted Array
下一篇
LeetCode 121. Best Time to Buy and Sell Stock
系列文
用LeetCode來訓練大腦的邏輯思維30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言